package alpha;

/**
 * class Operando - write a description of the class here.
 *
 * @author (your name here)
 * @version (version number or date here)
 */

public class Operando {

    protected Estado estado = new EstadoDecimal();
    private int valor = 0;

    public final String entraUm() {
        valor = valor * estado.getBase() + 1;

        return toString();
    }

    public final String toString() {
       return estado.toString(valor);
    }

    public final void soma(final Operando x) {
        valor = valor + x.valor;
    }

    public final void setBaseBinario() {
        estado = EstadoBinario.getInstancia();
    }

    public final void setBaseDecimal() {
        estado = EstadoDecimal.getInstancia();
    }

    public final void setBaseHexa() {
        estado = EstadoHexadecimal.getInstancia();
    }
    
    public final void setEstado(Operando outro)
    {
        estado = outro.estado;
    }
}
